Spinner通常用於顯示一個下拉列表,用戶可以從列表中選擇一個選項。它在用戶需要從下面多個選項中進行選擇時非常有用,例如選擇國家、城市、性別等。
以下以城市為例子,介紹一下spinner的使用方法。
首先,先到strings.xml裡面,新增你想要加入進spinner的元素,如以下範例
<resources>
<string name="app_name">Demo0712</string>
<string-array name="city">
<item>嘉義縣</item>
<item>新北市</item>
<item>嘉義市</item>
<item>新竹縣</item>
<item>新竹市</item>
<item>臺北市</item>
<item>臺南市</item>
<item>宜蘭縣</item>
<item>苗栗縣</item>
<item>雲林縣</item>
<item>花蓮縣</item>
<item>臺中市</item>
<item>臺東縣</item>
<item>桃園市</item>
<item>南投縣</item>
<item>高雄市</item>
<item>金門縣</item>
<item>屏東縣</item>
<item>基隆市</item>
<item>澎湖縣</item>
<item>彰化縣</item>
<item>連江縣</item>
</string-array>
</resources>
之後就可以到spinner元件去引用這個設定好的陣列,利用android:entries去引用
<Spinner
android:id="@+id/spinner2"
android:layout_width="123dp"
android:layout_height="41dp"
android:layout_marginStart="64dp"
android:layout_marginTop="80dp"
android:entries="@array/city"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
引用成功之後,執行就可以選擇城市了
接著就是spinner的監聽事件
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
//選擇時
select_city = (String) spinner.getSelectedItem().toString();
for ( i=0;i<22;i++){
x = city_list.get(i);
if(select_city.equals(x)){
k=i;
}
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
// 如果沒有選擇任何項目,這個方法將被調用
// 您可以在這裡執行相關操作,或者留空
}
});
利用spinner監聽,就可以在你選擇你要的元素後,執行相對應的動作。
以上就是spinner的介紹,希望對要使用spinner的人有幫助